package com.piece.core.framework.properties;

import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
import java.util.HashMap;
import java.util.Map;

/**
 * 系统通用配置
 */
@Data
@RefreshScope
@Configuration
@NoArgsConstructor
@ConfigurationProperties(prefix = "application")
public class ApplicationProperties {

    /**
     * 运行文件存储路径
     */
    private String location;

    /**
     * 本地附件地址
     */
    private String upload;

    /**
     * IP物理地址查询接口
     */
    private String addressUrl;

    /**
     * 节假日查询地址查询接口
     */
    private String festivalUrl;

    /**
     * 天气预报接口地址
     */
    private String weatherUrl;

    /**
     * 城市代码文件
     */
    private String weatherCityFile;

    /**
     * ip地址所属区域文件
     */
    private String qqwryFile;

    /**
     * 属性配置
     */
    private Map<String, String> options = new HashMap<>();

    public String getValue(String key) {
        String value = options.get(key);
        return null != value ? value.trim() : null;
    }

    public boolean hasValue(String key) {
        return !StringUtils.isEmpty(options.get(key));
    }
}
